Storing and retrieving information quickly and efficiently has conventionally been a challenge, for example, with respect to business tasks in companies. As databases have expanded, computing power has increased, and storage costs have gone down. Conventional storage and retrieval techniques have focused on minimizing storage requirements, sometimes at the expense of higher computing times.
With regard to conventional relational databases, records or database objects may be stored in tables based on a unique identifier for each record or object. Database entities may be related to each other via various relationships which may be reflected, for example, via columns having common names. For example, a “person” object may include a particular set of “person” attributes, and the “person” may include an “is-a” relationship with a “manager” entity. The “manager” may have a “manager-of” relationship with another “person” object. Thus, there may exist an object hierarchy such that a meaningful response to a query may require a navigation of an object tree which may involve retrieving objects at each node of the navigation, which may be very time-consuming.
For example, when a user submits a query to a relational database system, the database system may process the query by performing various operations on the tables in the database, which may include a very time-consuming JOIN operation, which may require that all objects of all tables included in the JOIN be retrieved in order to determine which objects satisfy certain common attributes. For example, a query such as “Find all objects of Type A which contain in their hierarchy an object of type B with a certain value,” for example, “Find all ‘contracts’ that have ‘parties’ with name ‘SAP’” may be slow to process using conventional techniques because the conventional techniques may include the following steps: A) find all objects of Type B with the value; and B) navigate the hierarchy of B to get to A.
A typical example user may spend 10% of his/her computing time in storing information, and 90% of his/her computing time in retrieving information from previously stored information. Thus, it may be desirable to provide storage and retrieval techniques which improve the efficiency and speed of retrieval of information.